package com.ccc.boot.redis.constant;

/**
 * Redis key 前缀相关配置
 *
 * @author superC
 * @version 0.1.0
 * @date 2022/4/8
 */

public class RedisConstant {

    /**
     * 过期时间标记符
     */
    public final static String MARK = "#";

    /**
     * 过期时间,单位为秒
     */
    public final static int EXPIRE_TIME_60 = 60;

    /**
     * 数据存储公用前缀
     */
    public final static String BASE_PRE = "CCC:";


    /* ########################### 认证与授权前缀 ############################### */
    /**
     * 认证与授权前缀
     */
    public final static String AUTH = BASE_PRE + "AUTH:";
    /**
     * token相关前缀
     */
    public final static String TOKEN = AUTH + "TOKEN:";

    /**
     * 用户在线登录列表
     */
    public final static String LOGIN_ONLINE_USERS = AUTH + "LOGIN_ONLINE_USERS";
    /**
     * 验证码
     */
    public final static String LOGIN_CAPTCHA = AUTH + "LOGIN_CAPTCHA:";

    /**
     * 菜单资源权限
     */
    public final static String AUTH_ROLES_MENUS = AUTH + "AUTH_ROLES_MENUS:";

    /**
     * 按钮资源权限
     */
    public final static String AUTH_ROLES_APIS = AUTH + "AUTH_ROLES_APIS:";


    /* ########################### 后台管理前缀 ############################### */
    /**
     * 后台管理前缀
     */
    private final static String SYS = BASE_PRE + "SYS:";
    /**
     * 登录用户信息
     */
    public final static String SYS_USER = SYS + "USER" + RedisConstant.MARK + 0;
    /**
     * 登录用户所授菜单列表树
     */
    public final static String SYS_MENU_TREE = SYS + "MENU_TREE" + RedisConstant.MARK + 0;
    /**
     * 行政分区树
     */
    public final static String SYS_ADDR_TREE = SYS + "ADDR_TREE" + RedisConstant.MARK + 0;
    /**
     * 数据字典项（一个关键字对应的数据）
     */
    public final static String SYS_DICT_DATA = SYS + "DICT_DATA:";
    /**
     * 数据字典项
     */
    public final static String SYS_DICT_DATAS = SYS + "DICT_DATAS";
    /**
     * 数据字典集（一个或多个关键字对应的数据）
     */
    public final static String SYS_DICT_DATA_MULTIPLE = SYS + "DICT_DATA_MULTIPLE" + RedisConstant.MARK + 0;


}
